Device enabled identity authentication

ABSTRACT

Described is a flexible and customizable physical access control system that allows for a smart device to execute an authentication application that users subscribe to for various physical locations with pre-determined rule sets that correspond to registration information of the physical location&#39;s qualifications and rules sets. A user&#39;s smart device is used as a credential for large number of locations so long as that location is in the subscriber network.

CLAIM OF PRIORITY

This application claims priority under 35 U.S.C. § 119(e) to provisionalU.S. Patent Application 62/218,015, filed on Sep. 14, 2015, entitled:“DEVICE ENABLED IDENTITY AUTHENTICATION”, the entire contents of whichare hereby incorporated by reference.

DEVICE ENABLED IDENTITY AUTHENTICATION Background

This specification relates generally to identity authentication systemsand techniques.

Physical Access Control systems require dedicated hardware and softwareto manage user access to secure areas. Common examples of such physicalaccess control systems include access controllers and card readerdevices. Such physical access control systems also require“credentialing,” that is, providing users with necessary credentialsthat are presented to such systems. Concomitant with credentialing isuser management of such systems, e.g., management personnel required toadd users, print and enroll credentials, and produce permission levelsfor users and groups within a facility, as well as regular maintenanceof schedules and permissions rules by dedicated personnel. Generally, acredential issued to an individual is only useful for a specificfacility or a limited set of facilities managed by that access controlsystem.

SUMMARY

According to an aspect, a system for authentication/access control to aphysical location includes at least one access control device at a firstphysical location, which access control device controls access to thephysical location, a central, cloud-based cluster of computers thatexecutes a subscription based access service application to manageaccess to the physical location through the one or more device readersat the first physical location on behalf of subscribing customers, and auser device to access the physical location through an applicationdownloaded to the user device, which application is managed by thesubscription service application.

According to an additional aspect, a system for managingauthentication/access control to plural locations includes a central,cloud-based cluster of computers configured to execute a subscriptionbased access service application to manage access to the physicallocations through the one or more device readers on behalf ofsubscribing customers, receive a user request to manage a user's accessto a particular physical location, retrieve specific instructions/rulesthat are unique for access to the physical location to send back to theidentity authentication application, generate a user interface thatembodies the specific instructions/rules and a request of a specificcode from the user device, process data received from the user deviceaccording to the rules/instructions; and when authenticated sendauthentication credentials to the user device for storage on the userdevice.

Aspects also include methods and computer program products.

One or more of the above aspects may provide one or more of thefollowing advantages.

The system provides a flexible and customizable physical access controlsystem that allows a smart device to manage self-enabled and aself-service identity authentication, with a smart device executableidentity authentication application and a server-based subscriptionservice. The flexible and customizable physical access control systemincludes local smart device credential readers that are installed andcontrolled in the cloud. Users subscribe over a subscriber network toaccess physical locations based on pre-determined rule sets that matchregistration information with the physical location qualifications. Auser's smart device is used as a credential for a large number oflocations so long as that location is in the subscriber network. Thenetwork is partitioned by physical location for security.

Any two or more of the features described in this specification,including this summary section, may be combined to form implementationsnot specifically described herein.

All or part of the foregoing may be implemented as a computer programproduct comprised of instructions that are tangibly stored on one ormore non-transitory machine-readable storage media/hardware devices, andwhich are executable on one or more processing devices. All or part ofthe foregoing may be implemented as an apparatus, method, or networksystem that may include one or more processing devices and memory tostore executable instructions to implement functionality.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Further features, aspects, andadvantages will become apparent from the description, the drawings, andthe claims.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a device enabled identity authenticationsystem.

FIG. 2 is a flow chart of client actions and server actions forregistration of a user, which are performed in the system of FIG. 1.

FIG. 3 is a flowchart showing a physical access subscription serviceprocess.

FIG. 4 is a block diagram of access points in communication with acloud-based identity service.

FIG. 5 is block diagram of cloud based customer partitions.

FIGS. 6A, 6B are block diagrams of a user device.

FIG. 7 is a block diagram of a server device.

FIG. 8 is a block diagram of an access point with art device readers andcontrollers.

DETAILED DESCRIPTION

Referring now to FIG. 1 a cloud-based Identity Authentication network 10for authentication/access control (and in some implementationstransaction initiation) to plural locations is shown. In thiscloud-based Identity Authentication network 10, the physical locations(represented by card readers) can be varied, e.g., a residential house,access to any type of premises, e.g., commercial, industrial, buildingsetc. (not shown) that are owned, controlled by third parties, i.e.,customers or subscribers. The arrangement includes plural user devices12 a-12 c (of which three are shown) in communication with a centralservice 14 that a cloud-based computing system that includes pluralcloud based servers 19. The cloud-based Identity Authentication network10 also includes plural device readers 16 a-16 c, of which three areshown, and which are disposed in different physical locations within apremises (or different physical premises) and which are controlled viathe cloud-based central service 14. The cloud-based central service 14manages access to the physical locations through the one or more devicereaders 16 a-16 c, on behalf of customers. In FIG. 1, each of the devicereaders are representative of a different physical location or premisesfor different subscribers. However, the device readers 16 a-16 c couldbe representative of different locations within a single premises.

A user accesses the physical locations via a user device (generally 12).Throughout this discussion, the user device 12 a will be used in theexplanation (unless otherwise noted). The user device 12 a is a “smart,”device, e.g., an Internet enabled device such as a “smart phone” (e.g.,i-Phone® (Apple, Inc.) or Android® (Google, Inc.)) based phone to name afew examples. Other makes of “smart phones” and other portable, mobiledevices including tablet computing devices could be used. Other formfactors could be used at least for the access control including a smartcard or other type of device that can be read. A smart phone will beused in the description for the user device 12 a.

As used herein, a “smart phone” is a mobile, handheld device thatincludes a general purpose processor that executes with an advancedmobile operating system and downloaded and/or installed applications(common referred to as “Apps.)” A smart phone combines features of acell phone with features of other devices to enable the smart phone toexecute computer programs or Apps. In general, a smart phone includes aGPS navigation device (e.g., transceiver). Smart phones generallyinclude a touchscreen user interface and cameras and have high-speedmobile broadband 4G LTE (or other cellular communication connectioncapabilities), Internet connection capabilities as well as, motionsensors, and mobile payment mechanisms.

The user devices access the service 14, via wireless access points 18a-18 c, through an application that is downloaded to the user devices.In FIG. 1, two of the smart phone devices 12 a and 12 b are shown asseeking, in turn, access to the same smart device reader 16 c over thesame wireless access point 18 b, whereas the smart phone user device 12c is shown accessing reader 16 a over access point 18 c. The otherwireless access point 18 a would likewise be involved with other (notshown) smart devices that would be seeking, in turn, access to the othersmart device reader 16 b over the wireless access point 18 a, via theservice.

In general, while three wireless access points 18 a-18 c, three devicereaders 16 a-16 c and three use devices 12 a-12 c are shown, it is to beunderstood that many more of such items would exist in a typicalimplementation. In FIG. 1, the wireless access points 18 a-18 c anddevice readers 16 a-16 c are representative of different physicallocations and different customer locations (subscriber locations) all ofwhich are managed b the service 14. As used herein a smart device readeris a reader device (akin to a conventional card reader device), butwhich instead of reading a conventional card, reads information from theuser's smart device executing a downloaded identity authenticationapplication 30 (FIG. 2). Such information is information sufficient torecognize the device such as a device ID. The smart device readers 16a-16 c in some implementations receive signals from the cloud basedservice 14 executing an access application to unlock an electronic lockor such action could be performed by an access controller that receivessignals from the cloud based application.

Referring now to FIG. 2, a registration process 29 executed by anidentity application 30 installed on user device 12 a-12 c inconjunction with a server identity authentication application 50 thatexecutes on the cloud based computer servers 19 (FIG. 1) is shown. Theregistration process 29 is executed by the identity application 30installed on user device 12 a-12 c, the server identity authenticationapplication 50 and the service 14. In some implementations the serveridentity authentication application 50 can execute some or all of thefeatures required by the service 14. Again using user device 12 a asexemplary, the user sends 31 a request to download identity application30. The server identity authentication application 50 receives 51 thedownload request and commences a download 52 of the identityauthentication application 30 to the user device 12 a from the cloudbased computer servers 19. The identity application or “identity App” isdownloaded 32 and executes on the user device 12 a and interacts withthe server identity authentication application 50.

The server identity authentication application 50 manages the user'sauthentication credentials, and optionally at this stage, the serveridentity authentication application 50 produces (not shown) a record(that is blank) for a request for access to a particular location. Theserver identity authentication application 50 sends (not shown) therequest to the user device 12 a. The identity application 30 has anoptional capability of having the user device 12 a read (not shown) therequest and send with the request, biometric information of the userthat is used by the server identity authentication application 50 forfurther authentication. Such biometric information can includefingerprints, iris scan, etc. For example, biometric information canreside in digital form in a file/data structure (and the like) stored ona storage medium either in the computing systems 19 that execute theserver identity authentication application 50 and/or on the system atthe local premises.

The server identity authentication application 50 is configured toregister the user's smart phone 12 a with each physical location thatthe user is authenticated to access.

The user device 12 a via the identity application 30 on the user device12 a generates 33 a request to register for access to a particularlocation. The user device populates 35 the request data required by therequest and with sufficient details that uniquely identifies thephysical location for which managed access is requested. The user'slocation, as identified by the user's device 12 a or cloud serviceapplication, is encrypted and is sent to server identity authenticationapplication 50.

The server identity authentication application 50 receives 52 therequest and forwards to the service 14. The central service 14 receives61 the request and uses unique details/rules required for the particularphysical location including using biometric information (if required bythe location), etc. for authentication. That is, the server identityauthentication application 50 in response to the user input, sends therequest to the service 14 for managing a user's access to a particularphysical location.

Either the service 14 as shown (or server identity authenticationapplication 50), in response to receiving the request retrieves 62specific instructions/rules that are unique to the physical location tosend back to the identity authentication application from an integratedset of databases (that hold information of the customers and users), asneeded. Either the service 14 as shown (or server identityauthentication application 50), generates 64 a user interface thatembodies the specific instructions/rules and a request of a specificcode (or codes) from the user device. The user interface is sent to theauthentication application 50 that in turn forwards 53 to the userdevice 12 a. The user device receives 37 the user interface and the userpopulates the user interface and sends back to the authenticationapplication 50.

Either the service 14 as shown (or server identity authenticationapplication 50), also sends an application that reads specificinformation pertaining to the user's device such as the user device's 12a unique device identification token commonly referred to as an “SSID.”An SSID (or Service Set Identifier) is associated with wireless localarea networks (IEEE 802.11 standard). Typically, client devices such asthe user device 12 a will use this to identify and join wirelessnetworks. Other unique tokens or programs downloaded to the phone aspart of the application could be used such as a unique code pushed tothe application for a specific premises, or other such unique dataentries, and other information that is required by the physicallocation. For example, the code can be a value that is manually read bythe user or the unique device ID code is automatically read by theauthentication app 30 and populated b the app 30 in a field in the userinterface, etc.

The received user interface is populated by the user. The user is askedto input information specific information required of the location,e.g., user name, user location ID (e.g., an employee ID or a socialsecurity no., etc. anything that uniquely identifies the user andespecially information about the user this is not generally known butwhich is known by the service (or accessible by the service) from thedatabase/servers associated with the physical location. This userinterface is sent back to the service 14, via the identityauthentication application 50 populated with specific code(s) and/orspecific information pertaining to the user's device 12 a and user,which are required for the specific location for which the service wasrequested.

Upon sending this information by the identity authentication application30, the server identity authentication application 50 receives 56 thepopulated user interface and sends the populated user interface orextracted data from the user interface to the service 14.

The service 14 (or server identity authentication application 50)receives 65 the populated user interface (or extracted data) andprocesses 66 the information received from the populated interfaceagainst retrieved specific instructions/rules that are unique to thephysical location. The service 14 checks 67 for the existence of aspecific code (or codes) unique to that physical location being presentin the data returned from the user interface by the identityauthentication application and compares information of the users, asreceived from the user interface with rules unique for that location.The codes can include specific pieces of encrypted data that uniquelyauthenticate the user device to be able to access the physical location(e.g., the specific reader of FIG. 1 or any of the device readersassociated with a physical location, according to access privilegesdetermined for the user.

If the information is correct, as required by the physical location, theuser device is registered with the service for automatic authenticationto the physical location. The service generates 68 credentials that willbe placed on the user device and which will be transferred to a physicallocation reader device (or protocol for frictionless access controldiscussed below) to grant the user access to the physical locationwithout the need of the user performing any action. The generatedcredentials are sent to the server identity authentication application50 by the service 14 and the server identity authentication application50 sends the credentials to the user device 12 a and the appropriatedevices readers. Otherwise, when the data are not consistent, theprocess 29 can exit or cause a retry.

Referring now to FIG. 3, systems at various physical locations subscribe70 to the service to provide automatic authentication services to usersof such systems. Such requests are received 72 from authorized systemsby the authentication service systems. The service receives 74 therequest including sufficient information to identify the location, suchas access device network addresses, etc. The service receives 76 in therequest specific rules or other information required to authenticate auser. The service determines 78 from the request whether the request isfrom a new customer, if so the service finds and updates 80 an existingaccount. Otherwise, the service produces 82 a new account and stores 84the account information.

The request could include a listing of users that can be authenticated.The rules for instance can include one or more ways that a user canaccess the physical location through the service and what the servicewill do and/or allow the user to do when to granting or not grantingaccess. For example, rules can be of the following types:

   Active Invite rule    <send invite to user A>    where invite is sentto a user device (device ID, device IP address, user e-mail address)associated with user A. E-mail would include an embedded link todownload the authentication application.    <list of actions that theservice performs upon execution of the authentication application by theuser device>       <Send encrypted credentials>       <register UserDevice A>       <other>    <actions that the service allows upondetection>       <list of actions>          Authenticated access toaccess devices <Network           IP addresses or other access deviceID's>          <others>    Passive Invite rule    <send invite to anyuser device>

where any user device is an device with a network IP address or a deviceID associated with a user device that requests to download theauthentication application.

   <actions that the service performs upon execution of theauthentication application>       <Send encrypted credentials>   <actions that the service allows upon detection>       <Send list ofactions>          Access to access devices <Network IP addresses or          other access device ID's>          Promotional invitations         <others>

Proactive User Push Rule

<receive invite from user device A for authentication access to Blocation>

where A user is an device network ID associated with a user device thatrequests to download the authentication application.

   <actions that the service performs upon execution of theauthentication application>       <Send encrypted credentials>      <actions that the service allows upon execution of the       authentication application>          <list of actions>            Authenticated access to access devices              <NetworkIP addresses or other access             device ID's>            <others>

Customers (subscribers) of the service push rules to the cloud servers19 for storage in cloud databases via a URL link in a webpage to awebsite, a Quick Response Code™ type of matrix barcode (ortwo-dimensional barcode (QR Code) or a URL link in an e-mail, etc. Thus,systems at (or associated with) the physical location, send suchsubscription requests to the cloud-based identity authenticationnetwork. Servers 19 in the cloud-based identity authentication networkprocess these subscriptiol requests and as necessary store informationin cloud-based databases not shown) for use with the cloud-basedidentity authentication servers. The service provides cloud-basedidentity authentication for many customers where single instances ofcloud-based identity authentication applications run on a server thatserves multiple “tenants,” i.e., groups of users that have the same viewof the cloud-based identity authentication application. In amulti-tenant architecture, a software application is designed to provideeach tenant with a specific share of the application instance includingdata, configuration, user management, tenant individual functionalityand non-functional properties. Multi-tenancy application in contrast hasseparate software instances operate on behalf of different tenants.

Referring now to FIG. 4, wireless hardware devices, e.g., device readers92 a-92 c (smart card readers) that control access devices (not shown)are controlled from the servers 19 in the cloud in multi-tenant mannerthat communicate via access points at the local physical premises(locations A through C, which may be geographically different locationsof same or independent entities). That is, the servers 19 in the cloudprocess installed instances of devices using parameters, e.g., list ofactions that accompany the above rules in real time upon detection of auser device 12 a. Three different instances are shown.

One location (location a) has many instances of access points and cardreaders (generally 92 a), which could be a building that a user works inor a group of buildings that the user can access, another location(location b) has one access point and card reader 92 b which could be auser's home, whereas another location (location c) has two access pointsand card readers (generally 92 c), which can represent a commercialestablishment. The cloud based servers 19 receive signals from one ofthe various access points, via the card readers (92 a, 92 b, 92 c) thatdetect the presence of the user with the user device 12 a. The servers19 process these signals and control the card reader via the accesspoint based on the user's credentials, as retrieved from the database91. (See also below for frictionless access control.)

Detection of a user device occurs in various manners. For example, NearField Communication (NEC) or Wi-Fi or Bluetooth technologies can be usedto indicate to the servers 19 that the mobile device 12 a is in aspecific area. In addition, smart device readers 92 a-92 c are used todetect the presence of mobile smart devices and the smart device readerhaving been presented with credentials that verify the mobile device asauthenticated, can unlock a door, etc. Optionally, biometric readers canalso be used for further authentication.

Access registration rules as described above can be of various types,including rules that require specific details. Access to thesubscription network can be by way of active or passive invites and/orproactive user device push for download of the authentication program.

Various specific rules can be provided to control access. For example,from the same user device 12 a executing the authentication application,the authentication application can provide instances where physicallocations are no longer merely ‘locked’ or ‘unlocked’ but can beintelligently controlled with interaction between the subscriptionservice and the authentication application. To point out a few examplesof interaction with the subscription service, a limited free trialinvite to local gym can be unlocked for a limited time; secure accesscan be provided to restricted areas that are unlocked with keyregistration information (name, SS #); access to warehouse shoppingmembership club purchased online (no customer service desk required);and check in at a local restaurant with the subscription servicedetermining that the person is a frequent diner, assigning a premiumtable, and schedule-based location access within the workplace are someexamples. Other examples are that an employee A is only allowed in arestricted area for his/her assigned shift. Thus rather than merelybeing used for access control in the context of an access control systemto lock and unlock doors, the authentication application can be used ina transactional manner.

Identity Authentication Network

The cloud-based Identity Authentication network 10 is managed by acommercial entity and uses those types of products that exist presentlyto control access to premises, from cloud based servers instead ofaccess control being on a local server. The features above, provide anovel application layer (30 and 50) that permits third parties, e.g., anowner of a residential house, or owners/occupants of commercial,industrial, buildings etc., i.e., customers, the ability to subscribe tothis service. That is, with the Identity Authentication network 50subscribers provide cloud-based identity Authentication network 50 withthe protocols needed for access control and/or transactional control ofsubscriber premises, and the cloud-based Identity Authentication network10, via the cloud based servers 19 authenticate the subscriber'sauthorized users. This in turn provides users of one or more of thesepremises the ability to register with the cloud-based IdentityAuthentication network 10 for access to multiple ones of suchauthenticated accesses from the particular mobile device generally 12.

The cloud-based Identity Authentication network 10 uses encryptionextensively, between communications between the mobile device 12 andcloud server computers 19. For example, the SSID, the inputted data, theuser's specific location, the authentication rules for each location andthe user's specific premise subscriptions would all be encrypted atleast during transmission between devices/systems, and would preferablebe stored in encrypted form on such devices/services, as appropriate.

Referring now to FIG. 5, the cloud-based Identity Authentication network10 would also provide secure partitions 100 a-100 c in the cloud-baseddatabase 91 for the rule sets, listings, etc. of each customersubscriber account (that is, third party owners/occupants residential,commercial, industrial, buildings, etc. that subscribe to the service)that may be accessed by servers 19. The secure partitions 100 a-100 ccan be on a location basis or a customer-subscriber basis. These securepartitions 100 a-100 c insure that customer data and rules arepartitioned away from others, so that a customer can only access its ownrules and/or data.

In an example network topology, communication links are direct(single-hop network layer) connections between devices. A formalnetworking layer can use a series of these links, together withappropriate routing technology, to send messages (fragmented orunfragmented) from one device to another, over a physical distance. Inother network topologies, each link may represent two or more hopsand/or the configuration may be different.

Referring now to FIGS. 6A-6B, atypical mobile device 12 a is shown toinclude display 13 a, a processor 13 b, memory 13 c operatively coupledto the processor 13 b, via a bus 13 d, with a network interface card 13e and other interfaces 13 f such as display interface to connect to thedisplay, and storage 13 g. Other interfaces can be provided.

The cloud-based Identity Authentication network 10 can operate withfrictionless control of the hardware devices that control access such ascontrollers 94 a-94 c, with corresponding access points at the localphysical premises. The access points send location data to a distributedqueue that in turn supplies such data to the distributed processingcluster 19. The controllers 94 a-94 c and are controlled from theservers 19 in the cloud in the multi-tenant manner, as discussed above.However, the presence of a user at any particular location is determinednot from the readers (as in FIG. 4) or the like but rather“frictionlessly.” That is, the servers 19 in the cloud processregistered instances of devices 12 a using the parameters, e.g., list ofactions that accompanied the above rules in real time upon detection ofa user device 12 a (from the database cluster 91). The cloud servicetracks the wireless network service set identifier (SSID) of the user'smobile device, 12 a via any of several different technologies orcombinations of technologies, such as global positioning systems (GPS)for outdoor tracking and within a premises, the cloud service determinesthe wireless network service set identifier (SSID) and tracks that SSIDfor a user device through GPS, as well as Bluetooth, NFC, UHF or Wi-Fitriangulation to read the mobile device's 12 a mobile credential. Byreading the mobile credential in this manner the cloud service knows thelocation of the user device 12 a. The cloud service determines from thatlocation the location of an access control device, etc., and at athreshold distance from that access control device (or other device),the cloud sends signals to the access control device (or other device)to activate the device 12 a, etc. according to rules established in theservice by the subscriber.

The cloud-based Identity Authentication network 10 with or withoutfrictionless access control provides a flexible and customizablephysical access subscription service for many independent locations,which access is managed by a user with a user device 12 a. End users usetheir smart device 12 a (e.g., phone, tablet, etc. with the download App(that can be provided free of charge) to enable self-serviceregistration to physical location(s). For the subscription provider, amobile identity cloud architecture is provided that has secure customerpartitions, with end user device security, and which controls smartreader hardware. For subscribing customers, (premises owners) theysubscribe to the mobile identity service, have setup of smart devicereaders, implement access registration rules and customizedintegrations.

Referring to FIG. 7, an exemplary view of the cloud-based IdentityAuthentication network 10 is shown. The access points send location datato a distributed queue 93 that in turn supplies such data to thedistributed processing cluster 19. The servers 19 process registeredinstances of devices 12 a using the parameters, e.g., list of actionsthat accompanied the above rules in real time upon detection of a userdevice 12 a (from the database cluster 91).

In this example, the queue cluster comprises multiple network devicesthat cooperate to communicate with end nodes of a network (e.g., accesspoints of FIG. 1) and to store information from the access points inmemory (e.g., one or more hardware storage devices). In operation,communication, represented by messages, comes from access points thathave data captured from mobile devices that seek authentication at theaccess points. The communications are stored in one or more devices inthe queue cluster. In this example, every node within the queue clusterpresents a RESTful API to the outside world. A purpose of the RESTfulAPI is to decouple, and to allow, any user to communicate with thesystem in a well-defined interface, avoiding, for instance, arequirement that the user or end device have knowledge the nativelanguage of the queue cluster. This cluster or any cluster includesappropriate communication channels between the nodes of the clusters.

Referring now to FIG. 8, a portion of facility 120 with access control122 is shown. In this illustrative example, the facility 120 includes asecured room and an external entryway. Room has a doorway and hasassociated therein an access controller 126 and an ingress smart devicereader 124. The room could have two smart device readers, an ingresssmart device reader and an egress smart device reader. The view as shownalso includes exemplary door locks 122 a, 122 b controlled by the accesscontroller 16, which is controlled by the server 19 (FIG. 1). In someimplementations the smart device readers can include circuitry tocontrol the door locks.

A distributed parallel processing cluster (system) comprises multiplenetwork devices that cooperate to perform one or more operations on theinformation from the queue cluster. In this example, this system doesnot present a single point of failure and all the nodes play the same,or a similar, role. The distributed parallel processing cluster (system)operates on a set of rules and the data received. The cluster accessesdata from a database, in an example a distributed database cluster(system) having no single point of failure. The database clustercomprises multiple network devices that cooperate to provide storage foruse by the processing cluster. For example, processed data can be storedin the database cluster, data can be retrieved from the database clusterfor processing, and so forth. The three cluster approach described aboveforms an example basic distributed architecture.

Example distributed network topology may include or be part of aself-organizing network, such as a wireless mesh network. In someimplementations, all of distributed network topology is implementedusing wireless mesh technology. In some implementations, only part ofdistributed network topology is implemented using wireless meshtechnology.

The functionality of one or more gateways and/or others of the networkdevices described above may be distributed among various devices, asdescribed below.

In this regard, in a networking context, the term “cloud” may include avariety of services and applications that reside outside of hardwarethat is managed or controlled by a user. There are several scenariosthat illustrate this concept, such as a website where users access webapplications, or an online library where a database resides in acentralized or distributed external location rather than on the user'scomputers. The traditional architecture for this paradigm is usually auser interface (UT), where the external users connect, via anapplication program interface (API), to some type of database to managethe information. The user interface submits requests via an API to acloud server. Typically, each of these requests is processed by modularprograms called “agents” or “workers” that run on the cloud-basedserver, and not in the users' computer. These agents may execute tasksassigned by the users, for example, to query the database or to executea complex operation involving data and user input.

Memory stores program instructions and data used b processor of thedevices. The memory may be a suitable combination of random accessmemory and read-only memory, and may host suitable program instructions(e.g. firmware or operating software), and configuration and operatingdata and may be organized as a file system or otherwise. The storedprogram instruction may include one or more authentication processes forauthenticating one or more users. The program instructions stored in thememory may further store software components allowing networkcommunications and establishment of connections to the data network. Thesoftware components may, for example, include an internet protocol (IP)stack, as well as driver components for the various interfaces. Othersoftware components suitable for establishing a connection andcommunicating across network will be apparent to those of ordinaryskill.

Program instructions stored in the memory, along with configuration datamay control overall operation of the panel.

The monitoring server includes one or more processing devicesmicroprocessors), a network interface and a memory (all notillustrated). The monitoring server may physically take the form of arack mounted card and may be in communication with one or more operatorterminals (not shown) An example monitoring server is a SURGARD™SG-System III Virtual, or similar system.

The processor of each monitoring server acts as a controller for eachmonitoring server, and is in communication with, and controls overalloperation, of each server. The processor may include, or be incommunication with, the memory that stores processor executableinstructions controlling the overall operation of the monitoring server.Suitable software enable each monitoring server to receive alarms andcause appropriate actions to occur. Software may include a suitableInternet protocol (IP) stack and applications/clients.

Each monitoring server of the central monitoring station may beassociated with an IP address and port(s) by which it communicates withthe control panels and/or the user devices to handle alarm events, etc.The monitoring server address may be static, and thus always identify aparticular one of monitoring server to the intrusion detection panels.Alternatively, dynamic addresses could be used, and associated withstatic domain names, resolved through a domain name service.

The network interface card interfaces with the network to receiveincoming signals, and may for example take the form of an Ethernetnetwork interface card (NIC). The servers may be computers,thin-clients, or the like, to which received data representative of analarm event is passed for handling by human operators. The monitoringstation may further include, or have access to, a subscriber databasethat includes a database under control of a database engine. Thedatabase may contain entries corresponding to the various subscriberdevices/processes to panels like the panel that are serviced by themonitoring station.

All or part of the processes described herein and their variousmodifications (hereinafter referred to as “the processes”) can beimplemented, at least in part, via a computer program product, i.e., acomputer program tangibly embodied in one or more tangible, physicalhardware storage devices that are computer and/or machine-readablestorage devices for execution by, or to control the operation of, dataprocessing apparatus, e.g., a programmable processor, a computer, ormultiple computers. A computer program can be written in any form ofprogramming language, including compiled or interpreted languages, andit can be deployed in any form, including as a stand-alone program or asa module, component, subroutine, or other unit suitable for use in acomputing environment. A computer program can be deployed to be executedon one computer or on multiple computers at one site or distributedacross multiple sites and interconnected by a network.

Actions associated with implementing the processes can be performed byone or more programmable processors executing one or more computerprograms to perform the functions of the calibration process. All orpart of the processes can be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) and/or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only storagearea or a random access storage area or both. Elements of a computer(including a server) include one or more processors for executinginstructions and one or more storage area devices for storinginstructions and data. Generally, a computer will also include, or beoperatively coupled to receive data from, or transfer data to, or both,one or more machine-readable storage media, such as mass storage devicesfor storing data, e.g., magnetic, magneto-optical disks, or opticaldisks.

Tangible, physical hardware storage devices that are suitable forembodying computer program instructions and data include all forms ofnon-volatile storage area, including by way of example, semiconductorstorage area devices, e.g., EPROM, EEPROM, and flash storage areadevices; magnetic disks, e.g., internal hard disks or removable disks;magneto-optical disks; and CD-ROM and DVD-ROM disks and volatilecomputer memory, e.g., RAM such as static and dynamic RAM, as well aserasable memory, e.g., flash memory.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other actions may be provided, or actions may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Likewise, actions depictedin the figures may be performed by different entities or consolidated.

Elements of different embodiments described herein may be combined toform other embodiments not specifically set forth above. Elements may beleft out of the processes, computer programs, Web pages, etc. describedherein without adversely affecting their operation. Furthermore, variousseparate elements may be combined into one or more individual elementsto perform the functions described herein.

Other implementations not specifically described herein are also withinthe scope of the following claims.

What is claimed is:
 1. A system of access control for a physicallocation, the system comprising: at least one access control device atthe physical location, wherein the at least one access control devicecontrols access to the physical location based on an access credentialof a user device of a user; a central cloud-based cluster of computersthat execute a subscription based access service application to manageaccess to the physical location through the at least one access controldevice at the physical location on behalf of one or more subscribingcustomers by registering the user with the physical location anddeploying the access credential to the user device and the at least oneaccess control device in response to registering the user with thephysical location; and the user device configured to authenticatedirectly with the at least one access control device via an applicationdownloaded to the user device at a plurality of different times bywirelessly transmitting the access credential to the at least one accesscontrol device at each of the plurality of different times, wherein theapplication stores the access credential and the application is managedby the subscription based service application.
 2. The system of claim 1,wherein the user device is configured to: access biometric informationfrom biometric readers; and send the biometric information to thecentral cloud-based cluster of computers to authenticate the user. 3.The system of claim 1, wherein the at least one access control device isa card readers coupled to the central cloud-based cluster of computers.4. The system of claim 1, wherein the user device is configured to storeauthentication credentials for a plurality of physical locations.
 5. Thesystem of claim 1, wherein the central cloud-based cluster of computersexecute the subscription based access service application causing thecentral cloud-based cluster of computers to receive, from the userdevice, information pertaining to the user device for registration withthe physical location, the information including a code captured by theapplication of the user device.
 6. The system of claim 1, wherein thecentral cloud-based cluster of computers execute the subscription basedaccess service application causing the central cloud-based cluster ofcomputers to receive a user request to manage access to the physicallocation.
 7. The system of claim 6, wherein the user request is adownload request to download an identity authentication application,wherein the download request includes details that identify the physicallocation.
 8. The system of claim 1, wherein the central cloud-basedcluster of computers execute the subscription based access serviceapplication causing the central cloud-based cluster of computers toretrieve rules associated with the physical location; whereinregistering the user with the physical location comprises registeringthe user based on the rules.
 9. The system of claim 8, wherein thecentral cloud-based cluster of computers execute the subscription basedaccess service application causing the central cloud-based cluster ofcomputers to retrieve the rules from an integrated set of databasesconfigured to store information of the one or more subscribing customersand users.
 10. The system of claim 8, wherein the central cloud-basedcluster of computers execute the subscription based access serviceapplication causing the central cloud-based cluster of computers to:generate a user interface that includes a request for one or more codesfrom the user device, wherein the request is based on the rules; andprocess data received from the user device according to the rules toregister the user with the physical location.
 11. A system for managingaccess control for a physical location, the system comprising: a centralcloud-based cluster of computers configured to: execute a subscriptionbased access service application to manage access to the physicallocation through at least one access control device on behalf of one ormore subscribing customers, wherein the at least one access controldevice controls access to the physical location based on an accesscredential of a user device of a user; receive a user request to manageaccess to the physical location; retrieve rules associated with thephysical location; generate a user interface based on the rules, whereinthe user interface includes a request for one or more codes from theuser device; process data received from the user device according to therules to register the user with the physical location; and deploy theaccess credential to the user device and the at least one access controldevice in response to registering the user with the physical location,wherein the user device stores the access credential and authenticateswith the at least one access control device at a plurality of differenttimes by wirelessly transmitting the access credential to the at leastone access control device at each of the plurality of different times.12. The system of claim 11, wherein the user request is a downloadrequest to download an identity authentication application, wherein thedownload request includes details that identify the physical location.13. The system of claim 11, wherein the central cloud-based cluster ofcomputers is configured to retrieve the rules from an integrated set ofdatabases configured to store information of the one or more subscribingcustomers and users.
 14. The system of claim 11, wherein anauthentication application of the user device captures specificinformation pertaining to the user device that is required by thephysical location, the specific information including a code value. 15.A method of access control for a physical location, the methodcomprising: executing, by one or more computer systems, a subscriptionbased access service application to manage access to the physicallocation through at least one access control device on behalf of one ormore subscribing customers, wherein the at least one access controldevice controls access to the physical location based on an accesscredential of a user device of a user; receiving, by the one or morecomputer systems, a user request to manage access to the physicallocation; retrieving, by the one or more computer systems, rulesassociated with the physical location; generating, by the one or morecomputer systems, a user interface based on the rules, wherein the userinterface includes a request for one or more codes from the user device;processing, by the one or more computer systems, data received from theuser device according to the rules to register the user with thephysical location; and deploying, by the one or more computer systems,the access credential to the user device and the at least one accesscontrol device in response to registering the user with the physicallocation, wherein the user device stores the access credential andauthenticates with the at least one access control device at a pluralityof different times by wirelessly transmitting the access credential tothe at least one access control device at each of the plurality ofdifferent times.
 16. The method of claim 15, wherein the user request isa download request to download an identity authentication application,wherein the download request includes details that identify the physicallocation.
 17. The method of claim 15, wherein retrieving, by the one ormore computer systems, the rules comprises retrieving the rules from anintegrated set of databases configured to store information of the oneor more subscribing customers and users.
 18. The method of claim 15,wherein an authentication application of the user device capturesspecific information pertaining to the user device that is required bythe physical location, the specific information including a code value.19. The method of claim 15, wherein the at least one access controldevice is a card reader coupled to the central cloud-based cluster ofcomputers.
 20. The method of claim 19, further comprising: accessing, bythe user device, biometric information from biometric readers; andsending, by the user device, the biometric information to the centralcloud-based cluster of computers to authenticate the user.